package com.itheima.demo;

import java.util.Random;

public class Test08 {
    public static void main(String[] args) {
        /*
        一个大V直播抽奖，新奖品是现金红包，分别有{2,588,888,1000,10000}五个奖金。
        请使用代码模拟抽奖打印出每个奖项，奖项的出现顺序要随机且不重复。
        打印效果如下:(随机顺序，不一定是下面的顺序)
         */
        // 1.定义数组表示奖池
        int[] arr = {2, 588, 888, 1000, 10000};

        // 2.定义新数组存抽到的奖项
        int[] newArr = new int[arr.length];

        // 3.遍历奖池，生成随机索引
        Random random = new Random();

        for (int i = 0; i < arr.length; ) {
            int randomIndex = random.nextInt(arr.length);
            // 判断奖项是否被抽中过,如果未抽中就存到newArr中
            if (!isAwards(newArr, arr[randomIndex])) {
                newArr[i] = arr[randomIndex];
                i++;// 必须是没抽中的奖项 i才++
            }
        }

        for (int i = 0; i < newArr.length; i++) {
            System.out.print(newArr[i] + " ");
        }


    }

    // 判断当前抽中的奖项是否存在
    public static boolean isAwards(int[] newArr, int award) {
        for (int i = 0; i < newArr.length; i++) {
            if (newArr[i] == award) {
                return true;
            }
        }
        return false;
    }

}
